Autonome Transaktionen in Oracle: Protokoll-Einträge erhalten

Entwickler können autonome Transaktionen in Oracle nutzen, um die Haupttransaktion "zu verlassen" und Arbeitsschritte separat auszuführen. Anhand eines Speicherverfahrens für die Protokollierung von Fehlern wird diese Eigenschaft erläutert.

Eine Datenbanktransaktion entspricht einer Arbeitseinheit, die entweder vollständig gelingen oder vollständig scheitern muss. Bei Oracle beginnt eine Transaktion mit der ersten ausgeführten DML-Anweisung (Data Management Language) und endet, wenn eine COMMIT-Anweisung (Übergabe) ausgegeben wird, um die Transaktion abzuspeichern, beziehungsweise eine ROLLBACK-Anweisung (Wiederholung), um diese zu löschen.

Aufgrund der Tatsache, dass die Transaktionen in Form von „all or nothing“ (alles oder nichts) ausgelegt sind, kann es unter Umständen schwierig sein, Fehlermeldungen in einer Datenbanktabelle zu protokollieren, weil die Anweisung INSERT (Einfügen) zum Schreiben des Protokolleintrags beim Wiederholen der Transaktion rückgängig gemacht wird.

Oracle bietet eine praktische Lösung für dieses Problem: die autonome Transaktion. Autonome Transaktionen werden innerhalb ihres eigenen Kontextes, ausgehend von der aktuellen Transaktion, verarbeitet. Diese können festgeschrieben oder separat wiederholt werden, ohne die laufende Transaktion zu beeinflussen. Dadurch eignen sie sich ideal zum Schreiben in eine Fehlerprotokolltabelle. Wenn ein Fehler in der Transaktion festgestellt wird, kann eine Zeile in die Fehlerprotokolltabelle eingefügt, festgeschrieben und anschließend die Haupttransaktion wiederholt werden, ohne dass die eingefügte Zeile verloren geht.

Weil autonome Transaktionen separat von der Haupttransaktion ablaufen, können sie den aktuellen Status der geänderten Zeilen nicht sehen. Es scheint so, als befänden sie sich in einer separaten Sitzung – erst wenn die Haupttransaktion festgeschrieben wird, sind sie für die autonome Transaktion verfügbar. Der umgekehrte Fall trifft jedoch nicht zu: Die Haupttransaktion kann die Ergebnisse einer bereits festgeschriebenen autonomen Transaktion sehen.

Themenseiten: Anwendungsentwicklung, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Autonome Transaktionen in Oracle: Protokoll-Einträge erhalten

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *